Electronic calculators are currently available for producing a wide variety of mathematical and manipulative operations formerly performed only by larger computers. The development of these calculators has been due in large part to the development of large-scale integrated circuits which have enabled calculator designers to implement a large number of computing circuits into very small packages. With this reduction in size of calculator components, many hand-held electronic calculators that perform sophisticated mathematical functions have become available. The number of functions that can be performed by hand-held calculators is usually limited by the number of keys that can be conveniently placed on the keyboard, rather than the number of the functions that can be performed by the circuitry inside the calculator, since a keyboard must be sufficiently large for a human operator to conveniently actuate the keys. Some calculator designers have alleviated this problem by providing a shift or prefix key that enables one or more of the other keys on the keyboard to initiate more than one calculator function. Examples of such calculators are the Hewlett-Packard Models 45 and 80.
A number of electronic calculators available today not only have the ability to perform sophisticated mathematical operations but they are programmable as well, enabling the calculator user to store a program of manipulative operations for later utilization. Programmable calculators often store such programs as a sequence of coded instructions usually called words or key codes. The storage memory usually has a given number of fixed-length positions in which these key codes can be stored, and the complexity of the programs the calculator can execute is often limited by the length of the program storage memory.
The stored program in a hand-held, programmable, electronic calculator usually comprises a series of key codes in a memory that correspond to the sequence keys a user would depress if he were performing the program manually. If some of the steps in the program comprise functions that are accessed from the calculator keyboard by first using a prefix key, then the program will have to store the prefix instruction as well as the instruction for the mathematical operation. If the program includes a significant number of such functions requiring the use of the prefix key, then a significant amount of the program storage space may be used up with the prefix instructions.